<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Nfc Interactor: NfcTypes Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="nfcinteractor80.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Nfc Interactor
   &#160;<span id="projectnumber">2.1.0</span>
   </div>
   <div id="projectbrief">Shows all information about NFC tags available through Qt Mobility APIs. Includes reusable convenience classes for handling additional tag types: Smart Poster, Image and vCard.</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a>  </div>
  <div class="headertitle">
<div class="title">NfcTypes Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="NfcTypes" -->
<p>Important enums that are shared between QML and C++.  
 <a href="class_nfc_types.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="nfctypes_8h_source.html">nfctypes.h</a>&gt;</code></p>

<p><a href="class_nfc_types-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nfc_types.html#a1ff0384b1733be7e1cb8baaf52ce891f">MessageType</a> { <br/>
&#160;&#160;<b>MsgSmartPoster</b>, 
<b>MsgUri</b>, 
<b>MsgText</b>, 
<b>MsgSms</b>, 
<br/>
&#160;&#160;<b>MsgBusinessCard</b>, 
<b>MsgSocialNetwork</b>, 
<b>MsgGeo</b>, 
<b>MsgStore</b>, 
<br/>
&#160;&#160;<b>MsgImage</b>, 
<b>MsgCustom</b>, 
<b>MsgAnnotatedUrl</b>, 
<b>MsgCombination</b>, 
<br/>
&#160;&#160;<b>MsgNfcAutostart</b>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The message type of record items stored in the model.  <a href="class_nfc_types.html#a1ff0384b1733be7e1cb8baaf52ce891f">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nfc_types.html#ae29245a8a2a4d24dd3de2f9d3db83691">RecordContent</a> { <br/>
&#160;&#160;<b>RecordHeader</b>, 
<b>RecordUri</b>, 
<b>RecordText</b>, 
<b>RecordTextLanguage</b>, 
<br/>
&#160;&#160;<b>RecordSmsBody</b>, 
<b>RecordSpAction</b>, 
<b>RecordSpType</b>, 
<b>RecordSpSize</b>, 
<br/>
&#160;&#160;<b>RecordImageFilename</b>, 
<b>RecordTypeName</b>, 
<b>RecordTypeNameFormat</b>, 
<b>RecordId</b>, 
<br/>
&#160;&#160;<b>RecordRawPayload</b>, 
<b>RecordSocialNetworkType</b>, 
<b>RecordSocialNetworkName</b>, 
<b>RecordNamePrefix</b>, 
<br/>
&#160;&#160;<b>RecordFirstName</b>, 
<b>RecordMiddleName</b>, 
<b>RecordLastName</b>, 
<b>RecordNameSuffix</b>, 
<br/>
&#160;&#160;<b>RecordNickname</b>, 
<b>RecordEmailAddress</b>, 
<b>RecordPhoneNumber</b>, 
<b>RecordContactUrl</b>, 
<br/>
&#160;&#160;<b>RecordOrganizationName</b>, 
<b>RecordOrganizationDepartment</b>, 
<b>RecordOrganizationRole</b>, 
<b>RecordOrganizationTitle</b>, 
<br/>
&#160;&#160;<b>RecordBirthday</b>, 
<b>RecordNote</b>, 
<b>RecordCountry</b>, 
<b>RecordLocality</b>, 
<br/>
&#160;&#160;<b>RecordPostOfficeBox</b>, 
<b>RecordPostcode</b>, 
<b>RecordRegion</b>, 
<b>RecordStreet</b>, 
<br/>
&#160;&#160;<b>RecordGeoType</b>, 
<b>RecordGeoLatitude</b>, 
<b>RecordGeoLongitude</b>, 
<b>RecordStoreNokia</b>, 
<br/>
&#160;&#160;<b>RecordStoreSymbian</b>, 
<b>RecordStoreMeeGoHarmattan</b>, 
<b>RecordStoreSeries40</b>, 
<b>RecordStoreWindowsPhone</b>, 
<br/>
&#160;&#160;<b>RecordStoreAndroid</b>, 
<b>RecordStoreiOS</b>, 
<b>RecordStoreBlackberry</b>, 
<b>RecordStoreCustomName</b>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the content of an individual item in the model.  <a href="class_nfc_types.html#ae29245a8a2a4d24dd3de2f9d3db83691">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nfc_types.html#a7df7f57eb1e968cb5f93e2ac364efd10">NfcModes</a> { <b>nfcReading</b> =  0, 
<b>nfcWriting</b>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Status information whether the <a class="el" href="class_nfc_info.html" title="The NfcInfo class manages the interaction with the Nfc hardware, parses the tags and emits informatio...">NfcInfo</a> class is currently in reading or writing mode.  <a href="class_nfc_types.html#a7df7f57eb1e968cb5f93e2ac364efd10">More...</a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Important enums that are shared between QML and C++. </p>
<p>QML doesn't have direct enum support, therefore, the enums are exported from C++ to be able to reuse them in the QML world. This is the only possible approach currently, but works fine. One of the limitations is that when passing data between C++ and QML, it's generally passed as Integer and not as a real enum, loosing some type safety due to the need to cast it back to an enum. </p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="a1ff0384b1733be7e1cb8baaf52ce891f"></a><!-- doxytag: member="NfcTypes::MessageType" ref="a1ff0384b1733be7e1cb8baaf52ce891f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_nfc_types.html#a1ff0384b1733be7e1cb8baaf52ce891f">NfcTypes::MessageType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The message type of record items stored in the model. </p>
<p>Some of the message types represent real NDEF record types, others are convenience classes provided by the Nfc Interactor (e.g., MsgGeo). Some other types defined here are just templates used to pre-populate the editing UI with various individual records, and do not actually appear in the model (e.g., MsgAnnotatedUrl, which is added as a MsgUri and a MsgText).</p>
<p>Usually, several consecutive <a class="el" href="class_nfc_record_item.html" title="Individual record item contained in the NfcRecordModel.">NfcRecordItem</a> instances have the same MessageType, but different RecordContent - as these define different aspects of the message. </p>

</div>
</div>
<a class="anchor" id="a7df7f57eb1e968cb5f93e2ac364efd10"></a><!-- doxytag: member="NfcTypes::NfcModes" ref="a7df7f57eb1e968cb5f93e2ac364efd10" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_nfc_types.html#a7df7f57eb1e968cb5f93e2ac364efd10">NfcTypes::NfcModes</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Status information whether the <a class="el" href="class_nfc_info.html" title="The NfcInfo class manages the interaction with the Nfc hardware, parses the tags and emits informatio...">NfcInfo</a> class is currently in reading or writing mode. </p>
<p>Used to send signals from C++ to QML, to let the UI react to status changes of the C++ engine classes. </p>

</div>
</div>
<a class="anchor" id="ae29245a8a2a4d24dd3de2f9d3db83691"></a><!-- doxytag: member="NfcTypes::RecordContent" ref="ae29245a8a2a4d24dd3de2f9d3db83691" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_nfc_types.html#ae29245a8a2a4d24dd3de2f9d3db83691">NfcTypes::RecordContent</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Type of the content of an individual item in the model. </p>
<p>The content defines what part of the whole message is defined by this record item. Usually, a complete NDEF record consists of multime <a class="el" href="class_nfc_record_item.html" title="Individual record item contained in the NfcRecordModel.">NfcRecordItem</a> instances, all of them having the same MessageType, but their individual content items defined by having a different RecordContent. For example, a Smart Poster MessageType always has a RecordHeader and a RecordUri. Optionally (= if added by the user), it can also have a RecordText, RecordTextLanguage, RecordSpAction, etc.</p>
<p>Some of the RecordContent can occur in different MessageType s. A good example is the RecordText, which can be used as the title in all records that map to a Smart Poster, or also in an extra text NDEF record. Other RecordContent items are specific to a MessageType, for example the RecordSpAction is only used within a Smart Poster.</p>
<p>The RecordContent tells the UI how to draw the item in the editing UI (e.g., as a text box, or a selection item). Additionally, it tells the <a class="el" href="class_nfc_model_to_ndef.html" title="Builds an NDEF message based on the data stored in the NfcRecordModel.">NfcModelToNdef</a> class what part of the NDEF record is defined by this <a class="el" href="class_nfc_record_item.html" title="Individual record item contained in the NfcRecordModel.">NfcRecordItem</a>. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="nfctypes_8h_source.html">nfctypes.h</a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Mon Mar 12 2012 13:32:49 for Nfc Interactor by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
